home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / MotifApp / ch7 / QuestionTestWindow.C < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  1.9 KB  |  63 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////////////////////////////////////////////////////////
  3. //         This example code is from the book:
  4. //
  5. //           Object-Oriented Programming with C++ and OSF/Motif
  6. //         by
  7. //           Douglas Young
  8. //           Prentice Hall, 1992
  9. //           ISBN 0-13-630252-1    
  10. //
  11. //         Copyright 1991 by Prentice Hall
  12. //         All Rights Reserved
  13. //
  14. //  Permission to use, copy, modify, and distribute this software for 
  15. //  any purpose except publication and without fee is hereby granted, provided 
  16. //  that the above copyright notice appear in all copies of the software.
  17. ///////////////////////////////////////////////////////////////////////////////
  18. //////////////////////////////////////////////////////////////////////////////
  19.  
  20.  
  21. /////////////////////////////////////////////////////////////
  22. // QuestionTestWindow.C: Test the QuestionDialogManager class
  23. ///////////////////////////////////////////////////////////////
  24. #include "QuestionTestWindow.h"
  25. #include "QuestionDialogManager.h"
  26. #include <Xm/PushB.h>
  27.  
  28. void postDialogCallback ( Widget, XtPointer, XtPointer );
  29. void cancelCallback ( void *data );
  30. void okCallback ( void * );
  31.  
  32. Widget QuestionTestWindow::createWorkArea ( Widget parent )
  33. {
  34.     Widget button = XtCreateManagedWidget ( "push_to_test", 
  35.                        xmPushButtonWidgetClass,
  36.                        parent, 
  37.                        NULL, 0 );
  38.     
  39.     XtAddCallback ( button,
  40.            XmNactivateCallback,
  41.            postDialogCallback,
  42.            NULL );
  43.     return button;
  44. }
  45.  
  46. void postDialogCallback ( Widget, XtPointer, XtPointer )
  47. {
  48.     theQuestionDialogManager->post ( "Can you answer the question?", 
  49.                     (void *) NULL,
  50.                     okCallback, 
  51.                     cancelCallback );
  52. }
  53.  
  54. void cancelCallback ( void * ) 
  55. {
  56.     cout << "No" << "\n" << flush;
  57. }
  58.  
  59. void okCallback ( void * )
  60. {
  61.     cout << "Yes" << "\n" << flush;
  62. }
  63.